package com.colabo.j2ee.web.oaf.security;

import java.util.List;
import java.util.Map;

import com.colabo.j2ee.web.core.exception.ServiceException;

/**
 * 维护数据权限相关的接口
 */
public interface IDataPermissionManagerService {
	
	String BEAN_ID = "dataPermissionManagerService";
	
	/**
	 * 批量保存自定义数据权限
	 * @param objectList
	 * @return
	 * @throws ServiceException
	 */
	public Integer[] saveSelfDataPermission(Map objectList) throws ServiceException ;
	
	/**
	 * 查询所有的元数据
	 * @return
	 * @throws ServiceException
	 */
	public List findAllMetadata()throws ServiceException ;
	
	/**
	 * 查找和数据权限相关的元数据
	 * @param dataPermissionId
	 * @return
	 * @throws ServiceException
	 */
	public List findAllMetadataId(String dataPermissionId)throws ServiceException ;
	
	/**
	 * 插入元数据到数据权限中，并返回字段
	 * @param metaDataIds
	 * @param permissionId
	 * @param fields
	 * @return
	 * @throws ServiceException
	 */
	public void addMetadataToDataPermission(String metaDataIds,String permissionId,String fields) throws ServiceException ;
	
	/**
	 * 插入元数据到数据权限中，并返回字段
	 * @param unitIds
	 * @param permissionId
	 * @return
	 * @throws ServiceException
	 */
	public void addUnitToDataPermission(String unitIds,String permissionId) throws ServiceException ;
	
	/**
	 * 获取组织机构权限已经关联的机构编号列表
	 * @param permissionId
	 * @return
	 * @throws ServiceException
	 */
	public List getUnitIdMap(String permissionId) throws ServiceException;
}
